package com.modelo.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

 
@Entity
@Table(name = "asalariado", catalog = "firmes", uniqueConstraints = @UniqueConstraint(columnNames = "DNI"))
public class Asalariado implements java.io.Serializable {
 
	private static final long serialVersionUID = 1L;
	
	private Integer idAsalariado;
	private Proveedor proveedor;
	private String nombre;
	private String dni;
	private String apellidos;
 
	public Asalariado() {
	}
 
	public Asalariado(Integer idAsalariado, Proveedor proveedor, String nombre,
			String dni, String apellidos) {
		this.idAsalariado = idAsalariado;
		this.proveedor = proveedor;
		this.nombre = nombre;
		this.dni = dni;
		this.apellidos = apellidos;
	}
 
	@Id
	@GeneratedValue
	@Column(name = "idAsalariado", unique = true, nullable = false)
	public Integer getIdAsalariado() {
		return this.idAsalariado;
	}

	public void setIdAsalariado(Integer idAsalariado) {
		this.idAsalariado = idAsalariado;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idProveedor", nullable = false)
	public Proveedor getProveedor() {
		return this.proveedor;
	}

	public void setProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}

	@Column(name = "Nombre", nullable = false, length = 40)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "DNI", unique = true, nullable = false, length = 9)
	public String getDni() {
		return this.dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	@Column(name = "Apellidos", nullable = false, length = 120)
	public String getApellidos() {
		return this.apellidos;
	}

	public void setApellidos(String apellidos) {
		this.apellidos = apellidos;
	}

}